package com.ktgj.service.service;

import java.util.List;
import com.ktgj.service.domain.Contract;
import com.ktgj.service.domain.ContractFile;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

/**
 * 合同			
Service接口
 * 
 * @author ruoyi
 * @date 2021-09-03
 */
public interface IContractService 
{
    /**
     * 查询合同			

     * 
     * @param contractId 合同			
ID
     * @return 合同			

     */
    public Contract selectContractById(Long contractId);

    /**
     * 查询合同			
列表
     * 
     * @param contract 合同			

     * @return 合同			
集合
     */
    public List<Contract> selectContractList(Contract contract);

    /**
     * 新增合同			

     * 
     * @param contract 合同

     * @return 结果
     */
    public int insertContract(Contract contract);

    /**
     * 修改合同			

     * 
     * @param contract 合同			

     * @return 结果
     */
    public int updateContract(Contract contract);

    /**
     * 批量删除合同			

     * 
     * @param contractIds 需要删除的合同			
ID
     * @return 结果
     */
    public int deleteContractByIds(Long[] contractIds);

    /**
     * 删除合同			
信息
     * 
     * @param contractId 合同			
ID
     * @return 结果
     */
    public int deleteContractById(Long contractId);

    /**
     * 根据服务来源、服务项目，联合查询 合作商(供应商/代理商)、合同数据
     * @param parinerName 服务来源
     * @param invoiceProject 服务项目
     * @return
     */
    List<Contract> selectContractAndParinerList(String parinerName,
                                                String invoiceProject);

    /**
     * 新增附件
     * @param file 文件
     * @param request
     * @param contractId 合同id
     * @param status 状态
     * @return
     */
    public ContractFile importFileContract(MultipartFile file, HttpServletRequest request,
                                           Long contractId,String status);

}
